home *** CD-ROM | disk | FTP | other *** search
- /* AOMVampDisplay.c */
- /*
- * AddressOMatic Sample
- * AOMSpinner.c
- * Copyright © 1993 Apple Computer Inc. All rights reserved.
- */
- #include "IconSuite.h"
- #include "AddressOMaticPrivate.h"
- /*
- * This must be loaded into the MPW main segment
- */
- #pragma segment MainCode
-
- void _AOMAnimateSpinner(
- register AddressOMaticPtr aomPtr,
- unsigned long now
- );
-
- pascal void
- _AOMAnimatePanel(
- SDPPanelHandle panelHandle,
- Boolean busy
- )
- {
- register AddressOMaticPtr aomPtr;
- unsigned long now;
-
- aomPtr = (AddressOMaticPtr) (**panelHandle).refCon;
- now = TickCount();
- if (busy && now >= AOM.nextAnimation)
- _AOMAnimateSpinner(aomPtr, now);
- }
-
- pascal void
- _AOMAnimateFindPanel(
- SDPFindPanelHandle findPanelHandle,
- Boolean busy
- )
- {
- register AddressOMaticPtr aomPtr;
- unsigned long now;
-
- aomPtr = (AddressOMaticPtr) (**findPanelHandle).refCon;
- now = TickCount();
- if (busy && now >= AOM.nextAnimation)
- _AOMAnimateSpinner(aomPtr, now);
- }
-
- /*
- * AnimateSpinner does all the work. It is called repeatedly to
- * update the icon display.
- */
- void
- _AOMAnimateSpinner(
- register AddressOMaticPtr aomPtr,
- unsigned long now
- )
- {
- AOM.nextAnimation = now + kSpinnerDelay;
- #ifdef kFirstSpinnerIcon /* Defined in Beta 3 */
- ++AOM.animationSICNIndex;
- if (AOM.animationSICNIndex > kLastSpinnerIcon)
- AOM.animationSICNIndex = kFirstSpinnerIcon;
- #endif
- _AOMUpdateSpinner(aomPtr);
- }
-
- /*
- * _AOMUpdateSpinner is called to draw or redraw the spinner icon
- */
- void
- _AOMUpdateSpinner(
- register AddressOMaticPtr aomPtr
- )
- {
- #ifdef kFirstSpinnerIcon /* Defined in Beta 3 */
- AOMSaveState saveState;
-
- _AOMSaveState(aomPtr, kAOMLabelFontStyle, &saveState);
- (void) PlotIconID(
- &RECT(kAOMSpinnerItem),
- atNone,
- ttNone,
- AOM.animationSICNIndex
- );
- _AOMRestoreState(&saveState);
- #else
- #pragma unused (aomPtr)
- #endif
- }
-
-